/**
 * Copyright (C), 2015-2024, XXX有限公司
 * FileName: Main
 * Author:   Administrator
 * Date:     2024/3/21 21:04
 * Description:
 * History:
 * <author>          <time>          <version>          <desc>
 * 作者姓名           修改时间           版本号              描述
 */

import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.nio.charset.StandardCharsets;

/**
 * 〈一句话功能简述〉<br>
 * 〈〉
 *
 * @author Administrator
 * @create 2024/3/21
 * @since 1.0.0
 */
public class Main {

    public static void main(String[] args) throws Throwable {
//        User u = new User();
//        u.setName("张三");
//        u.setPassword("123456");
//        System.out.println(u.getName());
//
//        User u1 = Class.forName("User").asSubclass(User.class).newInstance();
//        u1.setName("张三");
//        u1.setPassword("123456");
//        System.out.println(u1.getName());
//
//        Constructor constructor = User.class.getConstructor();
//        User u2 = (User) constructor.newInstance();
//        u2.setName("张三");
//        System.out.println(u2.getName());
//
//        MethodType methodType = MethodType.methodType(void.class);
//        MethodHandles.Lookup  lookup = MethodHandles.lookup();
//        MethodHandle methodHandle = lookup.findConstructor(User.class, methodType);
//        User u3 = (User) methodHandle.invoke();
//        u3.setName("张三");
//        System.out.println(u3.getName());

        String str = "我的张三";

        System.out.println(str.getBytes(StandardCharsets.UTF_8).length);
        System.out.println(str.getBytes(StandardCharsets.UTF_16).length);
        System.out.println(str.getBytes("GBK").length);
    }
}